#ifndef ARRAY_H
#define ARRA_H

#include <iostream>
#include <cstdio>


class Array
{
private:

        int *data;
        size_t size;
	size_t capacity;

	const size_t capacityCoef;

	void swap(Array* ar1, Array *ar2);
	void setCapacity(size_t cap) {capacity = cap;}
	void realloc();
public:

        Array();
        Array(const Array &);
	Array(int cap);

        Array& operator= (Array& ar);

        int get(size_t index) const;
        void set(size_t i, int v);
	void push_back(int v);

	
	size_t getSize() const {return size;}
	size_t getCapacity() const {return capacity;}
	void print();

        ~Array();

};

#endif
